package com.ruoyi.outbound.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 出库对象 outbound
 * 
 * @author wyj
 * @date 2025-04-18
 */
public class Outbound extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long outboundId;

    /** 库存ID */
    @Excel(name = "库存ID")
    private Long inventoryId;

    /** 药品ID */
    @Excel(name = "药品ID")
    private Long drugId;

    /** 药品名称 */
    @Excel(name = "药品名称")
    private String drugName;

    /** 出库数量 */
    @Excel(name = "出库数量")
    private Long stockQuantity;

    /** 生成批号 */
    @Excel(name = "生产批号")
    private String batchNumber;

    /** 是否处方 */
    private Integer prescriptionNeeded;

    /** 使用描述 */
    @Excel(name = "使用描述")
    private String usageDescription;

    /** 出库方式 */
    @Excel(name = "出库方式")
    private String deliveryMethod;

    /** 使用人员 */
    @Excel(name = "使用人员")
    private String user;

    /** 出库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date outboundTime;

    /** 出库人员 */
    private String outboundAdmin;

    public void setOutboundId(Long outboundId) 
    {
        this.outboundId = outboundId;
    }

    public Long getOutboundId() 
    {
        return outboundId;
    }
    public void setInventoryId(Long inventoryId) 
    {
        this.inventoryId = inventoryId;
    }

    public Long getInventoryId() 
    {
        return inventoryId;
    }
    public void setDrugId(Long drugId) 
    {
        this.drugId = drugId;
    }

    public Long getDrugId() 
    {
        return drugId;
    }
    public void setStockQuantity(Long stockQuantity) 
    {
        this.stockQuantity = stockQuantity;
    }

    public Long getStockQuantity() 
    {
        return stockQuantity;
    }
    public void setBatchNumber(String batchNumber)
    {
        this.batchNumber = batchNumber;
    }

    public String getBatchNumber()
    {
        return batchNumber;
    }
    public void setPrescriptionNeeded(Integer prescriptionNeeded) 
    {
        this.prescriptionNeeded = prescriptionNeeded;
    }

    public Integer getPrescriptionNeeded() 
    {
        return prescriptionNeeded;
    }
    public void setUsageDescription(String usageDescription) 
    {
        this.usageDescription = usageDescription;
    }

    public String getUsageDescription() 
    {
        return usageDescription;
    }
    public void setDeliveryMethod(String deliveryMethod) 
    {
        this.deliveryMethod = deliveryMethod;
    }

    public String getDeliveryMethod() 
    {
        return deliveryMethod;
    }
    public void setUser(String user) 
    {
        this.user = user;
    }

    public String getUser() 
    {
        return user;
    }
    public void setOutboundTime(Date outboundTime) 
    {
        this.outboundTime = outboundTime;
    }

    public Date getOutboundTime() 
    {
        return outboundTime;
    }
    public void setOutboundAdmin(String outboundAdmin) 
    {
        this.outboundAdmin = outboundAdmin;
    }

    public String getOutboundAdmin() 
    {
        return outboundAdmin;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("outboundId", getOutboundId())
            .append("inventoryId", getInventoryId())
            .append("drugId", getDrugId())
            .append("stockQuantity", getStockQuantity())
            .append("batchNumber", getBatchNumber())
            .append("prescriptionNeeded", getPrescriptionNeeded())
            .append("usageDescription", getUsageDescription())
            .append("deliveryMethod", getDeliveryMethod())
            .append("user", getUser())
            .append("outboundTime", getOutboundTime())
            .append("outboundAdmin", getOutboundAdmin())
            .append("drugName", getDrugName())
            .toString();
    }

    public String getDrugName() {
        return drugName;
    }

    public void setDrugName(String drugName) {
        this.drugName = drugName;
    }
}
